約 4,455,919 件
https://w.atwiki.jp/dyfantasista/pages/18.html
目次 目次InstantRailsの設定 開発環境の設定aptanaのダウンロード aptanaの設定(初回実行時)と実行 aptanaの日本語化 Railsプラグインのインストール 便利ツールとしてMySQL GUI Tools のダウンロード InstantRailsの設定 InstantRailsのダウンロードhttp //rubyforge.org/frs/?group_id=904 ダウンロードした圧縮ファイルを展開 C \instantRails 環境変数の設定 Path に C \instantRails\ruby\bin; 実行あらかじめIIS や Apache、MySQL は停止 C \instantRails\InstantRails.exe を実行 Windows の場合は Apache を使わないので、Apache ボタンをクリックして、Stop 以上でInstantRailsのインストール、設定は完了 開発環境の設定 aptanaのダウンロード http //www.aptana.com/ Windows 用のものは Aptana_IDE_Setup.msi (インストーラ形式)になっています。 Java の実行環境が必要になりますので、インストールされていないマシンでは別途ダウンロード ダウンロードした msi ファイルを実行 aptanaの設定(初回実行時)と実行 C \Program Files\Aptana\Aptana IDE Beta\Aptana.exe を実行 最初の実行時にワークスペースのフォルダを聞かれるので、C \InstantRails\rails_apps を指定 apatana の画面が表示されます。 aptanaの日本語化 日本語化プラグのダウンロードhttp //www.igapyon.jp/blanco/nlpack/eclipse/index.html ダウンロードしたフォルダのfeaturesとpluginsをダウンロードしたaptanaに上書き aptanaの再起動 Railsプラグインのインストール [ヘルプ][ソフトウェア更新][検索およびインストール]をクリック-[インストールする新規フィーチャーを検索]をチェック [次へ]をクリック [Aptana Ruby on Rail Development Environment]をチェック バージョンによっては違いあり Aptana RadRails Development Environment 便利ツールとして MySQL GUI Tools のダウンロード http //dev.mysql.com/downloads/gui-tools/5.0.html 但し、会員登録が必要になります(料金は不要です)。 設定と実行C \Program Files\MySQL\MySQL Tools for 5.0\MySQLAdministrator.exe [ServerHost]名にlocalhostを[Username]名にrootを設定して[OK] 以上 -
https://w.atwiki.jp/mierka/pages/30.html
ruby on railsに関する技術情報を習得します。 ruby on railsはMVCモデルに基づいた、高速なwebアプリケーションを構築可能なrubyフレームワークです。 目次: ruby入門 Rails入門 Rails 1.xと2.0の変更点
https://w.atwiki.jp/rubyist-kyushu/pages/12.html
Rails初心者講習会に準備していただくもの ノートPC 各自ノートPC(Windows機を対象とします)をご用意ください。電源アダプタも忘れずに! 若干数の貸出機もご用意しております。(第一回講習会分は貸出機の予約を締め切りました) ダウンロードしておくソフトウェア InstantRails 1.7 ZIPファイル解凍用ソフトウェア(任意) なんでも構いません。例:LHaz テキストエディタ(任意) 使い慣れたもので構いませんが、Rubyの構文ハイライトを表示可能なものが望ましいです。例:Terapad テキスト 「RailsによるアジャイルWebアプリケーション開発」
https://w.atwiki.jp/maimuzo/pages/12.html
Ruby on Railsプラグインのカテゴリー ※Agile Web Developmentと合わせてあります コントローラー(Controllers) 国際化(Internationalization) モデル(Model) Rails用エンジン(Rails Engines) 検索系(Searching and Queries) セキュリティ(Security) 静的コンテンツ及びログ(Statistics and Logs) テスト(Testing) ビュー(View Extensions) その他拡張(Misc. Enhancements)
https://w.atwiki.jp/api_programming/pages/38.html
下位ページ Content テキスト入力 ボタン/ButtonJavascriptを動かす ボタンの見た目 button は(初期値が)submitのため、リロードが起こる ラジオボタン(radio) チェックボックス (CheckBox) セレクトメニュー(SELECT) 関連項目jQueryで、フォームの値を設定/取得する テキスト入力 INPUT type="text" ボタン/Button Javascriptを動かす INPUT type="button" value="表示させる文字列" onclick="hogefunction()" / ボタンの見た目 jQueryでは、buttonも、inputでtypeをsubmitにしても、見た目は同じ。 button は(初期値が)submitのため、リロードが起こる type属性を書き換えないとだめ。 https //www.out48.com/archives/2080/ ラジオボタン(radio) INPUT type="radio" value="???" name="###" 同じグループに属するラジオボタンはnameに同じ名称を設定する チェックボックス (CheckBox) INPUT type="checkbox" onclick="hogefunction()" / jQueryでのチェックボックス処理 セレクトメニュー(SELECT) http //www.htmq.com/html/select.shtml http //www.buildinsider.net/web/jquerymobileref/21 SelectMenu Widget - jQuery Mobile label for="entry_book" 書籍: /label select id="entry_book" name="entry_book" option value="js" JavaScript本格入門 /option option value="android" はじめてのAndroidアプリ /option option value="rails" Rails 4プログラミング /option option value="aspnet" 独習ASP.NET /option /select label for label と select の関連付け ← html select 関連項目 jQueryで、フォームの値を設定/取得する Javascript/jQuery/フォーム(Form)
https://w.atwiki.jp/bookf/pages/69.html
Ruby on Railsの導入方法 Rudy on Railsの開発環境用にInstantRails レビュー 紹介
https://w.atwiki.jp/maimuzo/pages/29.html
プラグイン名 Attachment_fuプラグイン このプラグインができること acts_as_attachmentの機能改良版。 ファイル(特に画像)のアップロードや表示を効率化できる ファイルアップロード時に複数サイズのサムネイルを生成できる(要RMagick) ファイルの保存先はファイルシステムかDBかを選択できる。AmazonのS3サービスにも対応しているらしい。 画像表示時のヘルパーもついてる 対象バージョン 1.2系 ちょー簡単な使い方 script/plugin install http //svn.techno-weenie.net/projects/plugins/attachment_fu/ でインストールして、 script/generate model mugshot とかで普通にモデルとマイグレーションファイルを用意。 class CreateMugshots ActiveRecord Migration def self.up create_table mugshots do |t| t.column parent_id, integer t.column content_type, string t.column filename, string t.column thumbnail, string t.column size, integer t.column width, integer t.column height, integer end end def self.down drop_table mugshots end end こんな感じのテーブル作って、マイグレートできたらモデルに class Mugshot ActiveRecord Base has_attachment content_type = image, storage = file_system, max_size = 3000.kilobytes, # size = 0.megabyte..10.megabytes, # resize_to = 320x200 , processor = Rmagick , thumbnails = { thumb = 100x100 , small = 50x50 }, path_prefix = "public/system/#{table_name}" validates_as_attachment end てな具合にアップロード時の設定を書いておいて、 class MainController ApplicationController def new @mugshot = Mugshot.new end def create @mugshot = Mugshot.new(params[ mugshot]) if @mugshot.save flash[ notice] = Mugshot was successfully created. redirect_to /main/index else render action = new end end def index @mugshots = Mugshot.find( all, conditions = ["parent_id is null"] ) end end とかってコントローラーを作って、index用のviewは h1 Sample Index /h1 % for mugshot in @mugshots -% %= link_to image_tag(mugshot.public_filename( small)), mugshot.public_filename % % end -% %= link_to new , { action = new} % new用のviewは %= error_messages_for mugshot % % form_for( mugshot, url = create , html = { multipart = true }) do |f| -% p label for="mugshot" Upload A Mugshot /label %= f.file_field uploaded_data % /p p %= submit_tag Create % /p % end -% %= link_to index , { action = index} % で使えるはず。 (モロパクなのでcuspos diary Ruby on Railsファイルアップロードプラグイン attachment_fuを参考にしてください) 公式ページ どこなんでしょう? 日本語解説ページ cuspos diary Ruby on Railsファイルアップロードプラグイン attachment_fu ※基本的な使い方はこれでOK ※日本にもユーザーが結構居るようで、ググればノウハウも結構溜まっているみたい。 外国語解説ページ Mike Clark's Weblog File Upload Fu ※結構良い のうはう こういうのこそポリモーフィック関連を使えば楽なのかも(未実践) ひとつのモデルに画像とかPDFとかExcelファイルとか入れても大丈夫なのかなぁ?(実践中) RMagickがちゃんとインストールされているか心配なときは、以下のコードをirbなどで実行してみよう。ちなみに、カレントディレクトリにtest.jpgがある前提だ。 require rubygems require RMagick image = "test.jpg" original = Magick Image.read(image).first resized = original.resize_to_fit(75,100) resized.write("test_resized.jpg") 上の例で言うと、Articleモデル has_many(or has_one) mugshotの時に、サムネイルのレコードはarticle_idが入って、parent_idがnullになるので、Articleモデル側では has_many mugshot, condition = "parent_id is null" を付けておくと幸せかも。(あまり自信無い) マイグレーションファイルの構造を載せておく attachment_fu migrations ======================== Fields for attachment_fu metadata tables... in general size, integer # file size in bytes content_type, string # mime type, ex application/mp3 filename, string # sanitized filename that reference images height, integer # in pixels width, integer # in pixels that reference images that will be thumbnailed parent_id, integer # id of parent image (on the same table, a self-referencing foreign-key). # Only populated if the current object is a thumbnail. thumbnail, string # the type of thumbnail this attachment record describes. # Only populated if the current object is a thumbnail. # Usage # [ In Model Avatar ] # has_attachment content_type = image, # storage = file_system, # max_size = 500.kilobytes, # resize_to = 320x200 , # thumbnails = { small = 10x10 , # thumb = 100x100 } # [ Elsewhere ] # @user.avatar.thumbnails.first.thumbnail #= small that reference files stored in the database ( db_file) db_file_id, integer # id of the file in the database (foreign key) Field for attachment_fu db_files table data, binary # binary file data, for use in database file storage WWW SQL Designerファイル コメント 名前 トラックバック link_trackback
https://w.atwiki.jp/myway/pages/6.html
この文章は、以下のページの内容を(勝手に)日本語に翻訳したものです。 http //www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html Rolling with Ruby on Rails Ruby on Rails にって聞いたことがある? Ruby on Rails を使えば、ウェブ・アプリケーションをとっても効率的に作ることができるんだ。 試してみたいって思ってるけど、何をしたらいいかわからない人もいるかもしれない。この文章では、Railsをつかって一歩ずつウェブ・アプリケーションを作っていくよ。 Rubyでプログラミングする方法は扱わないけど、もし他のオブジェクト指向プログラミングをもう知っているなら、問題なく読めると思う。 腕をまくってウェブ・アプリケーションを作りはじめるまえに、2つほど疑問に答えよう。 Rubyって、なに? Ruby は、純粋なオブジェクト指向プログラム言語だ。とってもすっきりした文法で、エレガントに楽しくプログラムができる。 Ruby は、Smalltalk のエレガントさと、Python の覚えやすさと使いやすさ、そして、Perlの実用性を兼ね備えているんだ。 Ruby は、日本で1990年代の始めに産声を上げた。そして、英語の解説書やドキュメントが出まわるようになるにつれて、ここ数年で世界的にポピュラーになりはじめたんだ。 Rails って、なに? Rails は、データベースと連携したウェブ・アプリケーションを作るためのフレームワークだ。Rubyで書かれていて、オープンソースだ。 Rails のなにが特別かって?たしかに、世の中にはたくさんのフレームワークがあるし、そのほとんどは、Railsより昔から使われている。なんで、いまさら、新しいフレームワークが要るんだろう? 「Rails を使えば、よくある Java フレームワークよりも少なくとも10倍は早くウェブ・アプリケーションを作れるんだよ」って言われたらどう思う?それも、アプリケーションのクオリティーを犠牲にせずに、だ!そんなこと、できるんだろうか? その秘密を解く鍵の一つは、Ruby だ。Ruby を使えば、いろんなことをとってもシンプルに実現できる。これは、他の言語じゃ真似できない。Rails は、このRubyの強みを最大限に利用しているんだ。もう一つの鍵は、Rails のスタイルだ。それは、"less software" と "convention over configuration"。 "less software" っていうのは、少ししかコードを書かなくてもアプリケーションを実装できるということ。コードを小さくするということは、開発が早くなって、バグも減るということだ。コードが理解しやすくなるし、維持しやすくなる。それに、改良しやすくもなる。一言で言えば、Rails がコードの重荷をぐっと減らしてくれるってことだ。 "convention over configuration" っていうのは、だらだらと長いXML設定ファイルとおさらばしようってこと。Railsには、設定ファイルは一つもないんだ!設定ファイルのかわりに、Rails アプリケーションでは、シンプルな約束事にそってプログラムをする。このおかげで、見通しがよくなるんだ。君のアプリケーションや稼働中のデータベースには、Railsが知らないといけないこと全部がもう入っているんだ!
https://w.atwiki.jp/eyes_33/pages/34.html
form formの生成は、大きく2つ form_tagは、汎用フォーム用 textl_tag,text等のヘルパーが使用可能 無理にbook[isbn]へのアクセスするなら、text_fieldを使ってこんな感じ? %= form_tag({ action = create }) do % %= text_field book, isbn, { size = 25 } % % end % form_forは、モデル用 text_tag,f.text等のヘルパーが使用可能 こっちならbook[isbn]へのアクセスも見やすい %= form_for(@book) do |f| % %= f.text_field isbn, { size = 25 } % % end % あ、form_forだとactionを指定してないけど、これは自動で処理されるんだ!すげー 要するに、@bookが空ならid="new_book"に、findの結果が入ってればid="edit_book"になる。 この辺は、例のresourcesで定義されたアクセスルートが影響してくるんだね。 これらで生成されるform中のinputタグには、自動でIDが付与されるんだ。 例えば、name="book[isbn]"の場合、id="book_isbn"みたいに。 input/textarea こんな感じで書くと %= form_for(@book) do |f| % div class="field" テキスト: %= f.text_field isbn, read_only = true % br/ パスワード: %= f.password_field isbn, disabled = true % br/ テキストエリア: %= f.text_area isbn, cols = 40 % br/ ラジオ: label %= f.radio_button publish, 出版社A , { class = rd } % /label label %= f.radio_button publish, 出版社B , { class = rd } % /label br/ チェックボックス: label %= f.check_box cd, { class = chk }, yes , no % CD付属? /label br/ ファイル: %= f.file_field isbn % br/ Hidden: %= f.hidden_field isbn % ここは、当然見えないはずw br/ /div % end % HTMLはこんな感じ form accept-charset="UTF-8" action="/books" class="new_book" enctype="multipart/form-data" id="new_book" method="post" div style="margin 0;padding 0;display inline" input name="utf8" type="hidden" value=" #x2713;" / input name="authenticity_token" type="hidden" value="***********************************************" / /div div class="field" テキスト: input id="book_isbn" name="book[isbn]" read_only="true" size="30" type="text" / br/ パスワード: input disabled="disabled" id="book_isbn" name="book[isbn]" size="30" type="password" / br/ テキストエリア: textarea cols="40" id="book_isbn" name="book[isbn]" rows="20" /textarea br/ ラジオ: label input class="rd" id="book_publish_a" name="book[publish]" type="radio" value="出版社A" / /label label input class="rd" id="book_publish_b" name="book[publish]" type="radio" value="出版社B" / /label br/ チェックボックス: label input name="book[cd]" type="hidden" value="no" / input class="chk" id="book_cd" name="book[cd]" type="checkbox" value="yes" / CD付属? /label br/ ファイル: input id="book_isbn" name="book[isbn]" type="file" / br/ Hidden: input id="book_isbn" name="book[isbn]" type="hidden" / ここは、当然見えないはずw br/ /div /form 存在しないプロパティを指定すると、エラーになるらしい check_boxは、2つのinput(hiddenとcheckbox)を出力するんだ!これは 「チェックされなかった」 ことを判定するためみたい。すげー HTML5も対応してる こう書けば、 div class="field" メール: %= f.email_field isbn % br/ 数値: %= f.number_field isbn, { step = 10} % br/ 範囲: %= f.range_field isbn, { max = 100, min = 10} % br/ 検索: %= f.search_field isbn % br/ 電話: %= f.telephone_field isbn % br/ URL: %= f.url_field isbn % br/ /div こう出る div class="field" メール: input id="book_isbn" name="book[isbn]" size="30" type="email" / br/ 数値: input id="book_isbn" name="book[isbn]" size="30" step="10" type="number" / br/ 範囲: input id="book_isbn" max="100" min="10" name="book[isbn]" size="30" type="range" / br/ 検索: input id="book_isbn" name="book[isbn]" size="30" type="search" / br/ 電話: input id="book_isbn" name="book[isbn]" size="30" type="tel" / br/ URL: input id="book_isbn" name="book[isbn]" size="30" type="url" / br/ /div リストボックス系 シンプルに書くのは、select こんな感じで書くと リストボックス(最低限): %= f.select( publish, [ 出版社A , 出版社B ]) % br/ リストボックス(空指定): %= f.select( publish, [ 出版社A , 出版社B ], { include_blank = 選択して下さい } )% br/ リストボックス(ハッシュ): %= f.select( publish, { 出版社A = 1, 出版社B = 2 })% br/ リストボックス(配列): %= f.select( publish, [[ 出版社A ,1],[ 出版社B ,2]] )% br/ リストボックス(複数指定): %= f.select( publish, [ 出版社A , 出版社B ], {}, { multiple = true }) % br/ こう出る リストボックス(最低限): select id="book_publish" name="book[publish]" option value="出版社A" 出版社A /option option value="出版社B" 出版社B /option /select br/ リストボックス(空指定): select id="book_publish" name="book[publish]" option value="" 選択して下さい /option option value="出版社A" 出版社A /option option value="出版社B" 出版社B /option /select br/ リストボックス(ハッシュ): select id="book_publish" name="book[publish]" option value="1" 出版社A /option option value="2" 出版社B /option /select br/ リストボックス(配列): select id="book_publish" name="book[publish]" option value="1" 出版社A /option option value="2" 出版社B /option /select br/ リストボックス(複数指定): select id="book_publish" multiple="multiple" name="book[publish][]" option value="出版社A" 出版社A /option option value="出版社B" 出版社B /option /select br/ ちなみに、コントローラ側(ここだとcontrollers/books_controller.rbのnewメソッドの@bookの初期化を以下のように修正すれば、初期値設定(selected="selected")ができるよー @book = Book.new( publish = 出版社B ) collection_selectは、DBのオブジェクトから値表示! まずは、以下のコードをコントローラ側(ここだとcontrollers/books_controller.rbのnewメソッド)に追加して、データを取得 @books = Book.select( DISTINCT publish ); で、View側でこんな感じに書くと %=f.collection_select( publish, # selectのnameの対象 @books, # これがDBから取ってきたオブジェクト publish, # valueに割り当てる対象 publish # textに割り当てる対象 ) % br/ こんな感じで出る select id="book_publish" name="book[publish]" option value="インプレスジャパン" インプレスジャパン /option option value="技術評論社" 技術評論社 /option option value="日経BP社" 日経BP社 /option option value="秀和システム" 秀和システム /option option value="翔泳社" 翔泳社 /option /select br/ これは、booksテーブルの中身ね。 grouped_collection_selectは、 optgroup タグを使ってのリスト作成する! これ、アソシエーションを使うんで、一発でテーブルの関連を考慮してタグを出力してくれるんだ!すげー さすがに例が難しいんで、とりあえずRailsのヘルプへのリンクを書いておくか… きっと、こんな感じかな? %=f.grouped_collection_select( book_id, # selectのnameの対象 @authors, # DBから取ってきたオブジェクト books, # option タグを取得するメソッド name # optgroup タグのlabel id # option タグのvalue title # option タグのテキスト ) % br/ まあ、collection_selectと似てて、更にグループも指定できるって感じかな? 以上は、モデルに関連するメソッドだったけど、モデルと無関係にもリストを作れる select_tagは、全部指定して select を生成 options_for_selectだとハッシュから生成 option_from_collection_selectだと、DBのオブジェクトから生成 option_groups_from_collection_selectだと、 optgroup の生成 datetime_select/date_select/time_selectだと、日時指定のリスト生成。え、これすごくない? 例えば日付(date_select)だと、これだけで 日付: %= f.date_select published, use_month_numbers = true % br/ こう出る 日付: select id="book_published_1i" name="book[published(1i)]" option value="2006" 2006 /option 中略 option selected="selected" value="2011" 2011 /option 中略 option value="2016" 2016 /option /select select id="book_published_2i" name="book[published(2i)]" option value="1" 1 /option 中略 option selected="selected" value="11" 11 /option option value="12" 12 /option /select select id="book_published_3i" name="book[published(3i)]" option value="1" 1 /option 中略 option selected="selected" value="12" 12 /option 中略 option value="31" 31 /option /select br/ オプションはいっぱいあるけど、日本語だと最低限「 use_month_numbers = true」くらいはしないと月が「January」とかになるので注意! 当然、日時&時間のみとかもある 日時: %= f.datetime_select published, use_month_numbers = true % br/ 時間: %= f.time_select published, use_month_numbers = true % br/ その他 labelは、国際化対応済みだから、べたで書くより危なくないよ submitは、確認ダイアログとか処理中とかも対応してる! これで、 %= f.submit 保存 , confirm = 保存しても良いですか? , disable_with = 処理中… % こう input data-confirm="保存しても良いですか?" data-disable-with="処理中…" name="commit" type="submit" value="保存" / あ、submitはCreate/Updateを自動判定してるから、ここで指定しちゃうとその機能は無効になっちゃうんだ。 fields_forだと、form_for内でも他もモデルも参照可能 この時、fields_set_tagとかを使うと、フォームの要素を fieldset タグでグループ化できるらしいです。 -
https://w.atwiki.jp/textlife/pages/19.html
Deploying a Rails application with Mongrel Mongrelを使ってrailsを設置してみる。 Mongrelのポート番号を取得 ticket発行→mongrelポートくださいという。 ポート番号はメールでくる。 (私には1時間くらいで返事が来ました。だいたい2〜3時間以内にはきているみたい。) Mongrelで動くようにセットアップ。 railsアプリケーションや、ウェブサイトは、常に動いていなくてはいけません。 Virtualminにはboot-up actionsというのが付属していて、それを使えば Mongrelのrunを気にする必要がないようです。 Virtualminにログイン 左ナビゲーションからドメインを選ぶ 「Services」→「Bootup Actions」で、Bootup Actionsページへ。 「Add Mongrel」をクリック。「Create Bootup Action」ページ。 「Action name」に、わかりやすいアプリケーション名をつけます。e.g.) blog など、文字、数字、, ‘-’ or ‘_’ are allowed 「Description」には、簡単な説明とかを 「Started?」デフォルトは「Yes」サーバーブートと同時起動が可能。 「Rails root directory」には、フルパスでrailsアプリケーションまでのパスを。 (e.g., /users/home/yourusername/web). クリックでディレクトリを辿れるみたいです。 「Port number」は、取得したポート番号を。 最後に、「Create」をクリック。http //127.0.0.1 XXXX/(ローカル)で動くようになってます。 Proxying your port http //127.0.0.1 XXXX/をhttp //yourdomain.com/でも見れるようにする作業は 次のアーティクルでやりますよ。 引用:http //wiki.joyent.com/shared kb rails-with-mongrel